[BLKTAP] Fix in xend to properly destroy blktap devices when deviceClass=='tap'
authorjchesterfield@dhcp92.uk.xensource.com <jchesterfield@dhcp92.uk.xensource.com>
Wed, 6 Sep 2006 10:42:29 +0000 (11:42 +0100)
committerjchesterfield@dhcp92.uk.xensource.com <jchesterfield@dhcp92.uk.xensource.com>
Wed, 6 Sep 2006 10:42:29 +0000 (11:42 +0100)
Submitted by Andres Lagar Cavilla

tools/python/xen/xend/XendDomainInfo.py

index 7505e44f9783117421271bd65149dc5ed6bd630f..033d92ffc48cdf22e12506b968bf5902d7b5a858 100644 (file)
@@ -1087,6 +1087,15 @@ class XendDomainInfo:
     ## public:
 
     def destroyDevice(self, deviceClass, devid):
+       if type(devid) is str:
+           devicePath = '%s/device/%s' % (self.dompath, deviceClass)
+           for entry in xstransact.List(devicePath):
+               backend = xstransact.Read('%s/%s' % (devicePath, entry), "backend")
+               devName = xstransact.Read(backend, "dev")
+               if devName == devid:
+                   # We found the integer matching our devid, use it instead
+                   devid = entry
+                   break
         return self.getDeviceController(deviceClass).destroyDevice(devid)